/*
 * Copyright (C) 2022 KylinSoft Co., Ltd.
 *
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <https://www.gnu.org/licenses/>.
 */

import QtQuick 2.0
import QtQml 2.12
import QtQuick.Layouts 1.12
import QtQuick.Controls 2.5
import QtQml.Models 2.2
import QtQuick.Window 2.3
import MyGeneralSetting 1.0

Rectangle {
    property int imageWidth
    property int imageHeight
    property string imagePath

    property string execName: ""
    signal clickEvent(string exec)

    width: 64 * Style.widthScaleFactor
    height: 64 * Style.widthScaleFactor
    color: "transparent"

    Rectangle {
        id: buttonBackground
        anchors.fill: parent
        color: "#262626"
        opacity: 0.2
        radius: parent.width
    }

    MouseArea {
        id: dragArea
        anchors.fill: parent
        onClicked: {
            clickEvent(execName)
        }
        onPressed: {
            buttonBackground.opacity = 0.4
        }
        onReleased: {
            buttonBackground.opacity = 0.2
        }
    }
    Image {
        id: image
        width: imageWidth
        height: imageHeight
        sourceSize: Qt.size(imageWidth, imageHeight)
        anchors.centerIn: parent
        smooth: true
        source: imagePath
    }

    CGeneralSetting {
        id: cGeneralSetting
    }

    Component.onCompleted: {
        clickEvent.connect(cGeneralSetting.openGeneralSetting)
    }
}


